#include <iostream>
#include <cstring>
#include <sys/types.h>
#include <signal.h>
#include <sys/wait.h>


int main()
{
    sigset_t block_set,old_set;
    sigemptyset(&block_set);
    sigemptyset(&old_set);
    sigaddset(&block_set,SIGINT);//向block_set信号集中添加SIGINT信号（编号为2）。
    //1.屏蔽2号信号
        // 1.1 设置进入进程的Block表中
    sigprocmask(SIG_BLOCK, &block_set, &old_set); // 真正的修改当前进行的内核block表，完成了对2号信号的屏蔽！
    while(true) sleep(1);
}

// void Usage(std::string proc)
// {
//     std::cout << "Usage: " << proc << " signumber processid" << std::endl;
// }

// int main(int argc, char *argv[])
// {
//     if (argc != 3)
//     {
//         Usage(argv[0]);
//         exit(1);
//     }

//     int signumber = std::stoi(argv[1]);
//     pid_t id = std::stoi(argv[2]);

//     int n = ::kill(id, signumber);
//     if (n < 0)
//     {
//         perror("kill");
//         exit(2);
//     }
//     exit(0);
//     return 0;
// }